package com.cookapp.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 结果状态码枚举
 */
@Getter
@AllArgsConstructor
public enum ResultCode {

    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),
    
    /**
     * 失败
     */
    FAILED(500, "操作失败"),
    
    /**
     * 未认证
     */
    UNAUTHORIZED(401, "未认证或认证已过期"),
    
    /**
     * 未授权
     */
    FORBIDDEN(403, "没有操作权限"),
    
    /**
     * 参数错误
     */
    PARAM_ERROR(400, "参数错误"),
    
    /**
     * 不支持的操作
     */
    UNSUPPORTED_OPERATION(405, "不支持的操作"),
    
    /**
     * 用户不存在
     */
    USER_NOT_EXIST(1001, "用户不存在"),
    
    /**
     * 用户已被禁用
     */
    USER_DISABLED(1002, "用户已被禁用"),
    
    /**
     * 微信登录失败
     */
    WECHAT_LOGIN_ERROR(1003, "微信登录失败"),
    
    /**
     * 手机号已存在
     */
    PHONE_EXISTED(1004, "手机号已存在"),
    
    /**
     * 短信验证码错误
     */
    SMS_CODE_ERROR(1005, "验证码错误"),
    
    /**
     * 短信验证码已过期
     */
    SMS_CODE_EXPIRED(1006, "验证码已过期或不存在");
    
    /**
     * 状态码
     */
    private final int code;
    
    /**
     * 描述
     */
    private final String message;
} 